모의해킹
호스트기반모의해킹_15_SMB 취약점 진단
작성자 : Heehyeon Yoo|2025-11-26
# 모의해킹# SMB# Null Session# Share Enumeration# Samba
1. 개요
SMB(Server Message Block)는 파일, 프린터 공유 및 원격 제어를 위해 사용되는 프로토콜이다.
- 포트: TCP 445 (Direct SMB), TCP 139 (NetBIOS over TCP/IP).
- 운영체제: Windows 환경의 핵심 프로토콜이며, 리눅스에서는 Samba를 통해 구현된다.
2. 주요 진단 항목
2.1 널 세션(Null Session) 인증
- 개념: 사용자 이름과 비밀번호 없이(
"") 비권한 사용자가 서버의 공유 자원이나 사용자 목록에 접근 가능한 설정. - 진단 도구:
- NetExec (구 CrackMapExec):
nxc smb [Target_IP] -u "" -p "" --shares+(성공) 및READ,WRITE권한을 직관적으로 확인 가능하다.
- Enum4linux:
enum4linux -a [Target_IP]- 사용자 목록(RID Cycling) 및 그룹 정보를 수집할 때 강력하다.
- NetExec (구 CrackMapExec):
2.2 공유 폴더(Share) 접근 및 권한 확인
- 접근 방법:
smbclient를 사용하여 실제 접속 및 파일 다운로드/업로드를 시도한다.smbclient //[Target_IP]/[Share_Name] -U "" - 위협:
- 민감 파일 노출: 설정 파일, 백업 데이터, SSH 키(
id_rsa) 등. - 쓰기 권한(Write): 자동 실행 폴더나 웹 루트에 악성 파일을 업로드하여 RCE 연계 가능.
- 민감 파일 노출: 설정 파일, 백업 데이터, SSH 키(
2.3 알려진 취약점(Known Vulnerabilities)
- MS17-010 (EternalBlue): SMBv1의 치명적인 RCE 취약점. 랜섬웨어 워너크라이(WannaCry)의 주 원인.
- Samba 취약점: 리눅스 Samba 특정 버전(예:
symlink관련)의 취약점.
3. 실무에서는?
- 도구 교차 검증:
Enum4linux는 구형 도구라 최신 환경에서 에러가 잦다.NetExec이나SMBMap을 병행하여 결과를 교차 검증해야 한다.
- 버전 정보의 허와 실:
- 배너 그래빙으로 확인된 Samba 버전이 취약해 보여도, OS 벤더(RedHat, Debian 등)가 백포트(Backport) 패치를 적용했을 수 있다. Exploit 시도 전 확실한 검증이 필요하다.
- IPC$ 및 PRINT$:
- 기본 공유인
IPC$(프로세스 간 통신)와PRINT$(프린터 드라이버)는 접근이 가능해도 실제 공격 벡터로 활용되기는 어렵다. 일반적인 파일 공유(Data,Backup등)에 집중한다.
- 기본 공유인